package com.songhuan.web.dto.query;

import com.songhuan.web.tools.dto.PagedInput;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * CheckRecord查询模型
 */
@NoArgsConstructor
@Data
public class CheckRecordPagedInput extends PagedInput {

    /**
     * Id主键
     */
    @JsonProperty("Id")
    private Integer Id;
    /**
     * 用户
     */
    @JsonProperty("UserId")
    private Integer UserId;
    /**
     * 班级
     */
    @JsonProperty("OrganizationId")
    private Integer OrganizationId;
    /**
     * 经度起始范围条件
     */
    @JsonProperty("LongitudeStartRange")
    private Double LongitudeStartRange;

    /**
     * 经度结束范围条件
     */
    @JsonProperty("LongitudeEndRange")
    private Double LongitudeEndRange;
    /**
     * 纬度起始范围条件
     */
    @JsonProperty("LatitudeStartRange")
    private Double LatitudeStartRange;

    /**
     * 纬度结束范围条件
     */
    @JsonProperty("LatitudeEndRange")
    private Double LatitudeEndRange;
    /**
     * 打卡时间时间范围
     */
    @JsonProperty("CheckDateRange")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate CheckDateRange;
    /**
     * 有效开始时间时间范围
     */
    @JsonProperty("BeginTimeRange")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private List<LocalDateTime> BeginTimeRange;
    /**
     * 有效截止时间时间范围
     */
    @JsonProperty("EndTimeRange")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private List<LocalDateTime> EndTimeRange;

    @JsonProperty("CheckSettingId")
    private Integer CheckSettingId;

}
